﻿/************************************************************************************
 * xujiajun@yoozoo.com 御剑
 * 层级容器的策略接口
 ***********************************************************************************/

using Unity.Mathematics;

namespace WorldMapBase.Layer
{
    /// <summary>
    /// 层级容器的策略接口
    /// </summary>
    public interface ILayerContainerStrategy
    {
        /// <summary>
        /// 获取视图尺寸（xy：左下世界坐标，zw：长宽）
        /// </summary>
        /// <returns>视图尺寸</returns>
        int4 GetViewRect();

        /// <summary>
        /// 比较两个层级之间的顺序，如果层级1的ID在层级2的ID之前，返回任意小于0值；如果层级2的ID在层级1的ID之前，返回任意大于0值。如果相等，返回0
        /// </summary>
        /// <param name="id1">层级1的ID</param>
        /// <param name="id2">层级2的ID</param>
        /// <returns>两个层级比较后的结果</returns>
        int CompareLayer(int id1, int id2);
    }
}
